package com.wgy.day40SQL.SQL分类;
/*
DQL(Data Query Language) 数据查询语言
                         查询表中所有的记录(数据): select * from 表名
  1.语法: select:字段列表
         from: 表名列表
         where:条件列表
         group by:分组字段
         having:分组之后的条件
         order by:排序
         limit:分页限定

  2.基础查询:
        1.多个字段的查询:
                      语法: select 字段名1,字段名2,...from表名;
                      注意:如果查询所有字段,则可以使用*来替代字段列表 即:select * from 表名
         2.去除重复: 语法: distinct
                   SELECT DISTINCT age FROM stu;
         3.计算列: 一般可以使用四则运算计算一些列的值(一般只会进行数值型的计算)
                 ifnull (表达式1,表达式2):null参与的运算,计算结果都为null
                         表达式1:哪个字段需要去判断是否为null
                         表达式2:该字段的值为null时的替换值
         4.起别名: as :as也可以使用空格代替(省略)

        select name,score,math from stu;
        SELECT NAME,score,math,score+math FROM stu;
        select name,score,math,ifnull (score,0)+math from stu;
        select name,score,math,ifnull (score,0)+math as 总分 FROM stu;
        SELECT NAME,score,math,IFNULL (score,0)+math 总分 FROM stu;

  3.条件查询:
      1.where 子句后跟条件;   比如SELECT * FROM stu WHERE age>=10;
      2.运算符 <,>,<=,>=,=,!=,<>;
        条件链接:1.&&, and, 字段 between...and...;
                  SELECT * FROM stu WHERE age>=10 AND age<=20;
                  SELECT * FROM stu WHERE age>=10 && age<=20;
                  SELECT * FROM stu WHERE age BETWEEN 10 AND 20;

                2.||, or, in (集合);
                  select * from stu where age=10 or age=19 or age=20;
                  SELECT * FROM stu WHERE age in (10,19,20);

                3.is null,is not null
                  SELECT * FROM stu WHERE score IS NULL;
                  SELECT * FROM stu WHERE score IS not NULL;

                4.like:模糊查询
                   SELECT * FROM stu WHERE NAME LIKE "周%"; //查询:名字是姓周的
                   SELECT * FROM stu WHERE NAME LIKE "_敏%";//查询:名字第二个字是敏的
                   SELECT * FROM stu WHERE NAME LIKE "___";//查询:名字是三个字的
                   SELECT * FROM stu WHERE NAME LIKE "%无%";//查询:姓名中包含无的
*/
public class Demo04DQL_基础查询和条件查询 {
}
